Dynamic Dependency Analysis of Ordinary Programs 1
نویسندگان
چکیده
A quantitative analysis of program execution is essential to the computer architecture design process. With the current trend in architecture of enhancing the performance of uniprocessors by exploiting ne-grain parallelism, rst-order metrics of program execution, such as operation frequencies, are not su cient; characterizing the exact nature of dependencies between operations is essential. This paper presents a methodology for constructing the dynamic execution graph that characterizes the execution of an ordinary program (an application program written in an imperative language such as C or FORTRAN) from a serial execution trace of the program. It then uses the methodology to study parallelism in the SPEC benchmarks. We see that the parallelism can be bursty in nature (periods of lots of parallelism followed by periods of little parallelism), but the average parallelism is quite high, ranging from 13 to 23,302 operations per cycle. Exposing this parallelism requires renaming of both registers and memory, though renaming registers alone exposes much of this parallelism. We also see that fairly large windows of dynamic instructions would be required to expose this parallelism from a sequential instruction stream.
منابع مشابه
Computing Dynamic Slices of Object-Oriented Programs using Dependency Information
Now a days, object-oriented programs are becoming very popular amongst the developers and hence almost all software are designed using the object-oriented paradigm. Advanced features of object-oriented programming has made it complicated to understand, test, debug and maintain. To better manage these software, slicing techniques have been proved to be quite efficient. This paper proposed an alg...
متن کاملInter-procedural Analysis for Parallelization of Java Programs
Parallelization of Java programs is a complex task due to inheritance, dynamic method dispatching and aliases. Our research [2] aims to perform static analysis of Java programs in order to identify implicit parallelism. In this paper, we discuss rst the inter-procedural analysis technique we are studying and implementing to characterize data-dependency. And then we enhance this framework with t...
متن کاملImproving Troubleshooting via Dynamic Dependency Analysis
The task of identifying the “root cause” of a problem becomes increasingly difficult as systems become more complex, yet existing tools for root cause analysis remain fairly primitive. We examine the potential for aiding root cause analysis via auditing of dynamic dependencies at the kernel level. There are two main challenges to this kind of analysis: gathering data without unacceptably degrad...
متن کاملTransformations for the Optimistic Parallel Execution of Object-oriented Programs
This paper discusses the use of optimistic execution as a mechanism for parallelizing sequential object-oriented programs. Most parallelizing compilers to date have used compile-time data-dependency analysis to determine independent sections of code. This reliance on static information presents an overly restrictive view of dependencies in a program. In this paper, a set of transformations is p...
متن کاملPerformance Analysis of Dynamic and Static Facility Layouts in a Stochastic Environment
In this paper, to cope with the stochastic dynamic (or multi-period) problem, two new quadratic assignment-based mathematical models corresponding to the dynamic and static approaches are developed. The product demands are presumed to be dependent uncertain variables with normal distribution having known expectation, variance, and covariance that change from one period to the next one, randomly...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1992